home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / dev / c / AmiVoGL_MDEV.lha / src / rect.s < prev    next >
Text File  |  1997-12-30  |  4KB  |  268 lines

  1.  
  2. ; Maxon C++ Compiler
  3. ; LS2:work/voGL/src/rect.c
  4.     mc68020
  5.     mc68881
  6.     XREF    _pclos
  7.     XREF    _pdr2
  8.     XREF    _pmv2
  9.     XREF    _newtokens
  10.     XREF    _move2
  11.     XREF    _verror
  12.     XREF    _draw2
  13.     XREF    _std__in
  14.     XREF    _std__out
  15.     XREF    _std__err
  16.     XREF    ___MEMFLAGS
  17.     XREF    _vdevice
  18.  
  19.     SECTION ":0",CODE
  20.  
  21.  
  22.     XDEF    _rect
  23. _rect
  24. L4    EQU    -$10
  25.     link    a5,#L4+16
  26. L5    EQU    $3C
  27.     movem.l    d2-d5,-(a7)
  28.     move.s    $C(a5),d2
  29.     move.s    $8(a5),d3
  30.     move.s    $14(a5),d4
  31.     move.s    $10(a5),d5
  32.     XREF    userbreak_flagpos
  33.     move.l    userbreak_flagpos,a1
  34.     btst    #4,(a1)
  35.     bne    L6
  36.     tst.b    _vdevice
  37.     bne    L1
  38.     pea    L7
  39.     jsr    _verror
  40.     addq.l    #4,a7
  41. L1
  42.     move.l    d2,-(a7)
  43.     move.l    d3,-(a7)
  44.     jsr    _move2
  45.     addq.l    #$8,a7
  46.     move.l    d2,-(a7)
  47.     move.l    d5,-(a7)
  48.     jsr    _draw2
  49.     addq.l    #$8,a7
  50.     move.l    d4,-(a7)
  51.     move.l    d5,-(a7)
  52.     jsr    _draw2
  53.     addq.l    #$8,a7
  54.     move.l    d4,-(a7)
  55.     move.l    d3,-(a7)
  56.     jsr    _draw2
  57.     addq.l    #$8,a7
  58.     move.l    d2,-(a7)
  59.     move.l    d3,-(a7)
  60.     jsr    _draw2
  61.     addq.l    #$8,a7
  62.     fmovem.x (a7)+,[LATEST]
  63.     movem.l    (a7)+,#L5
  64.     unlk    a5
  65.     rts
  66.  
  67.     XDEF    _recti
  68. _recti
  69. L8    EQU    -$C
  70.     link    a5,#L8+12
  71. L9    EQU    0
  72.     movem.l    #L9,-(a7)
  73.     fmovem.x fp7,-(a7)
  74.     move.l    userbreak_flagpos,a1
  75.     btst    #4,(a1)
  76.     bne    L6
  77.     fmove.l    $14(a5),fp7
  78.     fmove.s    fp7,-(a7)
  79.     fmove.l    $10(a5),fp7
  80.     fmove.s    fp7,-(a7)
  81.     fmove.l    $C(a5),fp7
  82.     fmove.s    fp7,-(a7)
  83.     fmove.l    $8(a5),fp7
  84.     fmove.s    fp7,-(a7)
  85.     bsr    _rect
  86.     lea    $10(a7),a7
  87.     fmovem.x (a7)+,[LATEST]
  88.     movem.l    (a7)+,#L9
  89.     unlk    a5
  90.     rts
  91.  
  92.     XDEF    _rects
  93. _rects
  94. L10    EQU    -$10
  95.     link    a5,#L10+16
  96. L11    EQU    $80
  97.     movem.l    #L11,-(a7)
  98.     fmovem.x fp7,-(a7)
  99.     move.l    userbreak_flagpos,a1
  100.     btst    #4,(a1)
  101.     bne    L6
  102.     move.w    $E(a5),d7
  103.     ext.l    d7
  104.     fmove.l    d7,fp7
  105.     fmove.s    fp7,-(a7)
  106.     move.w    $C(a5),d7
  107.     ext.l    d7
  108.     fmove.l    d7,fp7
  109.     fmove.s    fp7,-(a7)
  110.     move.w    $A(a5),d7
  111.     ext.l    d7
  112.     fmove.l    d7,fp7
  113.     fmove.s    fp7,-(a7)
  114.     move.w    $8(a5),d7
  115.     ext.l    d7
  116.     fmove.l    d7,fp7
  117.     fmove.s    fp7,-(a7)
  118.     bsr    _rect
  119.     lea    $10(a7),a7
  120.     fmovem.x (a7)+,[LATEST]
  121.     movem.l    (a7)+,#L11
  122.     unlk    a5
  123.     rts
  124.  
  125.     XDEF    _rectf
  126. _rectf
  127. L12    EQU    -$20
  128.     link    a5,#L12+28
  129. L13    EQU    $CBC
  130.     movem.l    #L13,-(a7)
  131.     move.s    $C(a5),d2
  132.     move.s    $8(a5),d3
  133.     move.s    $14(a5),d4
  134.     move.s    $10(a5),d5
  135.     move.l    userbreak_flagpos,a1
  136.     btst    #4,(a1)
  137.     bne    L6
  138.     tst.b    _vdevice
  139.     bne    L2
  140.     pea    L7
  141.     jsr    _verror
  142.     addq.l    #4,a7
  143. L2
  144.     tst.b    _vdevice+2
  145.     beq    L3
  146.     pea    5.w
  147.     jsr    _newtokens
  148.     addq.l    #4,a7
  149.     move.l    d0,a2
  150.     move.l    a2,a3
  151.     moveq    #0,d7
  152.     move.l    #$2C,0(a3,d7.l*4)
  153.     move.l    a2,a3
  154.     moveq    #1,d7
  155.     move.l    d3,0(a3,d7.l*4)
  156.     move.l    a2,a3
  157.     moveq    #2,d7
  158.     move.l    d2,0(a3,d7.l*4)
  159.     move.l    a2,a3
  160.     moveq    #3,d7
  161.     move.l    d5,0(a3,d7.l*4)
  162.     move.l    a2,a3
  163.     moveq    #4,d7
  164.     move.l    d4,0(a3,d7.l*4)
  165.     fmovem.x (a7)+,[LATEST]
  166.     movem.l    (a7)+,#L13
  167.     unlk    a5
  168.     rts
  169. L3
  170.     move.l    d2,-(a7)
  171.     move.l    d3,-(a7)
  172.     jsr    _pmv2
  173.     addq.l    #$8,a7
  174.     move.l    d2,-(a7)
  175.     move.l    d5,-(a7)
  176.     jsr    _pdr2
  177.     addq.l    #$8,a7
  178.     move.l    d4,-(a7)
  179.     move.l    d5,-(a7)
  180.     jsr    _pdr2
  181.     addq.l    #$8,a7
  182.     move.l    d4,-(a7)
  183.     move.l    d3,-(a7)
  184.     jsr    _pdr2
  185.     addq.l    #$8,a7
  186.     move.l    d2,-(a7)
  187.     move.l    d3,-(a7)
  188.     jsr    _pdr2
  189.     addq.l    #$8,a7
  190.     jsr    _pclos
  191.     fmovem.x (a7)+,[LATEST]
  192.     movem.l    (a7)+,#L13
  193.     unlk    a5
  194.     rts
  195.  
  196.     XDEF    _rectfi
  197. _rectfi
  198. L14    EQU    -$C
  199.     link    a5,#L14+12
  200. L15    EQU    0
  201.     movem.l    #L15,-(a7)
  202.     fmovem.x fp7,-(a7)
  203.     move.l    userbreak_flagpos,a1
  204.     btst    #4,(a1)
  205.     bne    L6
  206.     fmove.l    $14(a5),fp7
  207.     fmove.s    fp7,-(a7)
  208.     fmove.l    $10(a5),fp7
  209.     fmove.s    fp7,-(a7)
  210.     fmove.l    $C(a5),fp7
  211.     fmove.s    fp7,-(a7)
  212.     fmove.l    $8(a5),fp7
  213.     fmove.s    fp7,-(a7)
  214.     bsr    _rectf
  215.     lea    $10(a7),a7
  216.     fmovem.x (a7)+,[LATEST]
  217.     movem.l    (a7)+,#L15
  218.     unlk    a5
  219.     rts
  220.  
  221.     XDEF    _rectfs
  222. _rectfs
  223. L16    EQU    -$10
  224.     link    a5,#L16+16
  225. L17    EQU    $80
  226.     movem.l    #L17,-(a7)
  227.     fmovem.x fp7,-(a7)
  228.     move.l    userbreak_flagpos,a1
  229.     btst    #4,(a1)
  230.     bne    L6
  231.     move.w    $E(a5),d7
  232.     ext.l    d7
  233.     fmove.l    d7,fp7
  234.     fmove.s    fp7,-(a7)
  235.     move.w    $C(a5),d7
  236.     ext.l    d7
  237.     fmove.l    d7,fp7
  238.     fmove.s    fp7,-(a7)
  239.     move.w    $A(a5),d7
  240.     ext.l    d7
  241.     fmove.l    d7,fp7
  242.     fmove.s    fp7,-(a7)
  243.     move.w    $8(a5),d7
  244.     ext.l    d7
  245.     fmove.l    d7,fp7
  246.     fmove.s    fp7,-(a7)
  247.     bsr    _rectf
  248.     lea    $10(a7),a7
  249.     fmovem.x (a7)+,[LATEST]
  250.     movem.l    (a7)+,#L17
  251.     unlk    a5
  252.     rts
  253.  
  254. L6
  255.     XREF    userbreak
  256.     jsr    userbreak
  257.  
  258. L7
  259.     dc.b    'rect: vogl not initialised',0
  260.  
  261.     SECTION ":0",CODE
  262.  
  263.  
  264. L6
  265.     jsr    userbreak
  266.  
  267.     END
  268.